home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-05
/
netpq.zip
/
F1.C
< prev
next >
Wrap
Text File
|
1992-02-24
|
3KB
|
111 lines
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include "nos.h"
#include "noslib.h"
#include "netpq.h"
extern struct serverdef *server;
extern struct localqueuedef *localqueue;
extern int maxlocalqueuecount, localqueuecount;
extern int numberoflogins;
extern int numberofprinterstrings;
extern char *printerstring;
f1keypressed ()
{
// handles response for f1 key (control ports)
int f1menuitems = 6;
char *f1menu [] =
{
"Enable",
"Disable now",
"Disable at EOJ",
"Pause now",
"Enable Single",
"Restart"
};
int f1xsize = strlen (f1menu [2]);
int action, servernum, printer;
int i;
int ybase;
ybase = wherey () + 1;
if (ybase + f1menuitems > 24)
ybase = 24 - f1menuitems;
do
{
if ( (action = menu (&f1menu, f1menuitems, f1xsize, firstxpos, ybase)) != -1)
{
do
{
if ( (servernum = displayservernames (ybase)) != -1)
{
if (checkqueueprivileges (servernum) != -1)
{
do
{
printer = menu (&printerstring, numberofprinterstrings, 5, thirdxpos, ybase);
if (printer > -1)
{
message ("UPDATING, PLEASE WAIT ...", false);
if (NOSControlQueue (&printer, action, &server [servernum] .servername, -1) == -1)
NOSperror ("NOSControlQueue");
return 0;
}
}while (printer != -1);
}
}
}while (servernum != -1);
}
}while (action != -1);
return -1;
}
displayservernames (int ybase)
{
// displays a menu of all servernames
int i, selection;
char *servernames [5];
i = 0;
while (i < numberoflogins)
servernames [i] = &server [i++] .servername;
if (ybase + numberoflogins > 24)
ybase = 24 - numberoflogins;
selection = menu (&servernames, numberoflogins, 17, secondxpos, ybase);
return selection;
}
checkqueueprivileges (int servernum)
{
// checks to see if the user has queue privileges on the server
if (server [servernum] .queue_privilege == false)
{
message ("YOU DO NOT HAVE QUEUE PRIVILEGES\a", true);
return -1;
}
return 0;
}